A.9. Time Zones and Daylight Savings
In order to correctly display an event and interoperate with major calendar applications, it is necessary for mobile calendar solutions to provide support for time zones. Unfortunately, most mobile calendar solutions do not provide full support for time zones currently and are therefore unable to correctly display events in all situations.
The following different classes of device time zone support have been identified:
Full Time zone support
has time zone configuration option
stores all events as local time, UTC or local time with time zone rule (as appropriate)
transfers recurring events in local time with a time zone definition
supports day events independent of time zone changes (aka “floating” time)
when the time zone is changed on the device, all events shift in the device calendar (excluding day events)
switches to and from daylight savings do not effect the display of events
Type 1 Partial time zone support
has time zone configuration option
stores all events in UTC
day events are stored as events starting at midnight with no duration
when the time zone is changed on the device, all events shift, including day events which initially display at midnight (until the time zone was changed) the synchronization server requires the user’s default calendar server time zone to correctly synchronize day events to this device (so that they hopefully end up at midnight)
Type 2 Partial time zone support
has time zone configuration option
accepts UTC, but actually stores them in local time
supports day events independent of time zone changes
when the time zone is changed on the device, events are not shifted in the device calendar
No Timezone support
the device may have an option for setting the time zone, but the information is not used by the device calendar application or the synchronization application
all events are stored in local time
day events may or may not be supported correctly
when the time zone is changed on the device, events are not shifted in the device calendar
The timezone and daylight savings test cases described in this test suite assume that full time zone support has been correctly implemented. Other implementations are simply considered broken.